<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Aether.Physics2D: Vertices Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="NugetLogo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aether.Physics2D
   &#160;<span id="projectnumber">2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Vertices Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for Vertices:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices__inherit__graph.svg" width="139" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div class="dynheader">
Collaboration diagram for Vertices:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices__coll__graph.svg" width="139" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5009903ca9da9c5f0aaac1d21fa19fd3"><td class="memItemLeft" align="right" valign="top"><a id="a5009903ca9da9c5f0aaac1d21fa19fd3"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Vertices</b> (int capacity)</td></tr>
<tr class="separator:a5009903ca9da9c5f0aaac1d21fa19fd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0a304c1179964f85f50df04904efb97"><td class="memItemLeft" align="right" valign="top"><a id="ae0a304c1179964f85f50df04904efb97"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Vertices</b> (IEnumerable&lt; <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> &gt; vertices)</td></tr>
<tr class="separator:ae0a304c1179964f85f50df04904efb97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92acbe179d76f206252a79f5b3fc3b06"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a92acbe179d76f206252a79f5b3fc3b06">NextIndex</a> (int index)</td></tr>
<tr class="memdesc:a92acbe179d76f206252a79f5b3fc3b06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the next index. Used for iterating all the edges with wrap-around.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a92acbe179d76f206252a79f5b3fc3b06">More...</a><br /></td></tr>
<tr class="separator:a92acbe179d76f206252a79f5b3fc3b06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a220d2534669aad9849c9ee765d1f9c83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a220d2534669aad9849c9ee765d1f9c83">NextVertex</a> (int index)</td></tr>
<tr class="memdesc:a220d2534669aad9849c9ee765d1f9c83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the next vertex. Used for iterating all the edges with wrap-around.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a220d2534669aad9849c9ee765d1f9c83">More...</a><br /></td></tr>
<tr class="separator:a220d2534669aad9849c9ee765d1f9c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3790eb40d9ecf822344442c576f34582"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a3790eb40d9ecf822344442c576f34582">PreviousIndex</a> (int index)</td></tr>
<tr class="memdesc:a3790eb40d9ecf822344442c576f34582"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the previous index. Used for iterating all the edges with wrap-around.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a3790eb40d9ecf822344442c576f34582">More...</a><br /></td></tr>
<tr class="separator:a3790eb40d9ecf822344442c576f34582"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b40df1a349091c003a450e98deae548"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a5b40df1a349091c003a450e98deae548">PreviousVertex</a> (int index)</td></tr>
<tr class="memdesc:a5b40df1a349091c003a450e98deae548"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the previous vertex. Used for iterating all the edges with wrap-around.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a5b40df1a349091c003a450e98deae548">More...</a><br /></td></tr>
<tr class="separator:a5b40df1a349091c003a450e98deae548"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd10fc67704eafc1724e88cfa259f0d2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#acd10fc67704eafc1724e88cfa259f0d2">GetSignedArea</a> ()</td></tr>
<tr class="memdesc:acd10fc67704eafc1724e88cfa259f0d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the signed area. If the area is less than 0, it indicates that the polygon is clockwise winded.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#acd10fc67704eafc1724e88cfa259f0d2">More...</a><br /></td></tr>
<tr class="separator:acd10fc67704eafc1724e88cfa259f0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3efa799bb37b6d73be16a58cfd458a88"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a3efa799bb37b6d73be16a58cfd458a88">GetArea</a> ()</td></tr>
<tr class="memdesc:a3efa799bb37b6d73be16a58cfd458a88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the area.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a3efa799bb37b6d73be16a58cfd458a88">More...</a><br /></td></tr>
<tr class="separator:a3efa799bb37b6d73be16a58cfd458a88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d56dfcaacc3d45d5c30ccfd26cfc8de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a4d56dfcaacc3d45d5c30ccfd26cfc8de">GetCentroid</a> ()</td></tr>
<tr class="memdesc:a4d56dfcaacc3d45d5c30ccfd26cfc8de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the centroid.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a4d56dfcaacc3d45d5c30ccfd26cfc8de">More...</a><br /></td></tr>
<tr class="separator:a4d56dfcaacc3d45d5c30ccfd26cfc8de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe25c017e17fb2891a100e92016ebd40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_collision_1_1_a_a_b_b.html">AABB</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#abe25c017e17fb2891a100e92016ebd40">GetAABB</a> ()</td></tr>
<tr class="memdesc:abe25c017e17fb2891a100e92016ebd40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an AABB that fully contains this polygon.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#abe25c017e17fb2891a100e92016ebd40">More...</a><br /></td></tr>
<tr class="separator:abe25c017e17fb2891a100e92016ebd40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4ba97c79b8aaa9a0abe8e8ed33d4e1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#ae4ba97c79b8aaa9a0abe8e8ed33d4e1a">Translate</a> (<a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> value)</td></tr>
<tr class="memdesc:ae4ba97c79b8aaa9a0abe8e8ed33d4e1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates the vertices with the specified vector.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#ae4ba97c79b8aaa9a0abe8e8ed33d4e1a">More...</a><br /></td></tr>
<tr class="separator:ae4ba97c79b8aaa9a0abe8e8ed33d4e1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad1848051a82158b33759b86f6b581f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#aad1848051a82158b33759b86f6b581f0">Translate</a> (ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> value)</td></tr>
<tr class="memdesc:aad1848051a82158b33759b86f6b581f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates the vertices with the specified vector.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#aad1848051a82158b33759b86f6b581f0">More...</a><br /></td></tr>
<tr class="separator:aad1848051a82158b33759b86f6b581f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a881d454439e2ca42bd5b72a19061ab57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a881d454439e2ca42bd5b72a19061ab57">Scale</a> (<a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> value)</td></tr>
<tr class="memdesc:a881d454439e2ca42bd5b72a19061ab57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scales the vertices with the specified vector.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a881d454439e2ca42bd5b72a19061ab57">More...</a><br /></td></tr>
<tr class="separator:a881d454439e2ca42bd5b72a19061ab57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc95b1d2445b45474575ae9222102785"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#adc95b1d2445b45474575ae9222102785">Scale</a> (ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> value)</td></tr>
<tr class="memdesc:adc95b1d2445b45474575ae9222102785"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scales the vertices with the specified vector.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#adc95b1d2445b45474575ae9222102785">More...</a><br /></td></tr>
<tr class="separator:adc95b1d2445b45474575ae9222102785"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5386451142d82fd512c5184a6169e991"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a5386451142d82fd512c5184a6169e991">Rotate</a> (float value)</td></tr>
<tr class="memdesc:a5386451142d82fd512c5184a6169e991"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotate the vertices with the defined value in radians.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a5386451142d82fd512c5184a6169e991">More...</a><br /></td></tr>
<tr class="separator:a5386451142d82fd512c5184a6169e991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0905a5dccff9a252451ef2f3eef4b028"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a0905a5dccff9a252451ef2f3eef4b028">IsConvex</a> ()</td></tr>
<tr class="memdesc:a0905a5dccff9a252451ef2f3eef4b028"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the polygon is convex. O(n^2) running time.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a0905a5dccff9a252451ef2f3eef4b028">More...</a><br /></td></tr>
<tr class="separator:a0905a5dccff9a252451ef2f3eef4b028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa49cf05a85c579b8fdbbc09c41f9b5fd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#aa49cf05a85c579b8fdbbc09c41f9b5fd">IsCounterClockWise</a> ()</td></tr>
<tr class="memdesc:aa49cf05a85c579b8fdbbc09c41f9b5fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates if the vertices are in counter clockwise order. Warning: If the area of the polygon is 0, it is unable to determine the winding.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#aa49cf05a85c579b8fdbbc09c41f9b5fd">More...</a><br /></td></tr>
<tr class="separator:aa49cf05a85c579b8fdbbc09c41f9b5fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dfcc37e8535cfca6728e62e202eb0eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a9dfcc37e8535cfca6728e62e202eb0eb">ForceCounterClockWise</a> ()</td></tr>
<tr class="memdesc:a9dfcc37e8535cfca6728e62e202eb0eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forces the vertices to be counter clock wise order.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a9dfcc37e8535cfca6728e62e202eb0eb">More...</a><br /></td></tr>
<tr class="separator:a9dfcc37e8535cfca6728e62e202eb0eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af60c6df8f92c5bd7c2b28e6801fb4a5c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#af60c6df8f92c5bd7c2b28e6801fb4a5c">IsSimple</a> ()</td></tr>
<tr class="memdesc:af60c6df8f92c5bd7c2b28e6801fb4a5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the vertices forms an simple polygon by checking for edge crossings.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#af60c6df8f92c5bd7c2b28e6801fb4a5c">More...</a><br /></td></tr>
<tr class="separator:af60c6df8f92c5bd7c2b28e6801fb4a5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca3f35af579cd26f0a30c1a84138b9aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacenkast_1_1_aether_1_1_physics2_d_1_1_common.html#a8a5b6868c64e71b2f6bf23638b766e60">PolygonError</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#aca3f35af579cd26f0a30c1a84138b9aa">CheckPolygon</a> ()</td></tr>
<tr class="memdesc:aca3f35af579cd26f0a30c1a84138b9aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the polygon is valid for use in the engine.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#aca3f35af579cd26f0a30c1a84138b9aa">More...</a><br /></td></tr>
<tr class="separator:aca3f35af579cd26f0a30c1a84138b9aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4862251a60f16ce98c0976d5a11990b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#aa4862251a60f16ce98c0976d5a11990b">ProjectToAxis</a> (ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> axis, out float min, out float max)</td></tr>
<tr class="memdesc:aa4862251a60f16ce98c0976d5a11990b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Projects to axis.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#aa4862251a60f16ce98c0976d5a11990b">More...</a><br /></td></tr>
<tr class="separator:aa4862251a60f16ce98c0976d5a11990b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54556fee1be31edf1a2343d073a22da5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a54556fee1be31edf1a2343d073a22da5">PointInPolygon</a> (ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> point)</td></tr>
<tr class="memdesc:a54556fee1be31edf1a2343d073a22da5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Winding number test for a point in a polygon.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a54556fee1be31edf1a2343d073a22da5">More...</a><br /></td></tr>
<tr class="separator:a54556fee1be31edf1a2343d073a22da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11b3e73b8f5150b8ef42a9c228b694ba"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a11b3e73b8f5150b8ef42a9c228b694ba">PointInPolygonAngle</a> (ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> point)</td></tr>
<tr class="memdesc:a11b3e73b8f5150b8ef42a9c228b694ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the sum of the angles made between the test point and each pair of points making up the polygon. If this sum is 2pi then the point is an interior point, if 0 then the point is an exterior point. ref: <a href="http://ozviz.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/">http://ozviz.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/</a> - Solution 2  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a11b3e73b8f5150b8ef42a9c228b694ba">More...</a><br /></td></tr>
<tr class="separator:a11b3e73b8f5150b8ef42a9c228b694ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa73e7c4dd1df5fd5fbf81c7764ee1533"><td class="memItemLeft" align="right" valign="top"><a id="aa73e7c4dd1df5fd5fbf81c7764ee1533"></a>
override string&#160;</td><td class="memItemRight" valign="bottom"><b>ToString</b> ()</td></tr>
<tr class="separator:aa73e7c4dd1df5fd5fbf81c7764ee1533"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a25689ac9b057e53c7267742723ca99e3"><td class="memItemLeft" align="right" valign="top">List&lt; <a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html">Vertices</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a25689ac9b057e53c7267742723ca99e3">Holes</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a25689ac9b057e53c7267742723ca99e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">You can add holes to this collection. It will get respected by some of the triangulation algoithms, but otherwise not used.  <a href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html#a25689ac9b057e53c7267742723ca99e3">More...</a><br /></td></tr>
<tr class="separator:a25689ac9b057e53c7267742723ca99e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aca3f35af579cd26f0a30c1a84138b9aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca3f35af579cd26f0a30c1a84138b9aa">&#9670;&nbsp;</a></span>CheckPolygon()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacenkast_1_1_aether_1_1_physics2_d_1_1_common.html#a8a5b6868c64e71b2f6bf23638b766e60">PolygonError</a> CheckPolygon </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks if the polygon is valid for use in the engine. </p>
<p>Performs a full check, for simplicity, convexity, orientation, minimum angle, and volume.</p>
<p>From Eric Jordan's convex decomposition library</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespacenkast_1_1_aether_1_1_physics2_d_1_1_common.html#a8a5b6868c64e71b2f6bf23638b766e60a70a47cae4eb221930f2663fd244369ea" title="There were no errors in the polygon">PolygonError.NoError</a> if there were no error.</dd></dl>

</div>
</div>
<a id="a9dfcc37e8535cfca6728e62e202eb0eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dfcc37e8535cfca6728e62e202eb0eb">&#9670;&nbsp;</a></span>ForceCounterClockWise()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ForceCounterClockWise </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Forces the vertices to be counter clock wise order. </p>

</div>
</div>
<a id="abe25c017e17fb2891a100e92016ebd40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe25c017e17fb2891a100e92016ebd40">&#9670;&nbsp;</a></span>GetAABB()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_collision_1_1_a_a_b_b.html">AABB</a> GetAABB </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns an AABB that fully contains this polygon. </p>

</div>
</div>
<a id="a3efa799bb37b6d73be16a58cfd458a88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3efa799bb37b6d73be16a58cfd458a88">&#9670;&nbsp;</a></span>GetArea()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float GetArea </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the area. </p>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a id="a4d56dfcaacc3d45d5c30ccfd26cfc8de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d56dfcaacc3d45d5c30ccfd26cfc8de">&#9670;&nbsp;</a></span>GetCentroid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> GetCentroid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the centroid. </p>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a id="acd10fc67704eafc1724e88cfa259f0d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd10fc67704eafc1724e88cfa259f0d2">&#9670;&nbsp;</a></span>GetSignedArea()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float GetSignedArea </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the signed area. If the area is less than 0, it indicates that the polygon is clockwise winded. </p>
<dl class="section return"><dt>Returns</dt><dd>The signed area</dd></dl>

</div>
</div>
<a id="a0905a5dccff9a252451ef2f3eef4b028"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0905a5dccff9a252451ef2f3eef4b028">&#9670;&nbsp;</a></span>IsConvex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool IsConvex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determines whether the polygon is convex. O(n^2) running time. </p>
<p>Assumptions:</p><ul>
<li>The polygon is in counter clockwise order</li>
<li>The polygon has no overlapping edges</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if it is convex; otherwise, <code>false</code>. </dd></dl>

</div>
</div>
<a id="aa49cf05a85c579b8fdbbc09c41f9b5fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa49cf05a85c579b8fdbbc09c41f9b5fd">&#9670;&nbsp;</a></span>IsCounterClockWise()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool IsCounterClockWise </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Indicates if the vertices are in counter clockwise order. Warning: If the area of the polygon is 0, it is unable to determine the winding. </p>

</div>
</div>
<a id="af60c6df8f92c5bd7c2b28e6801fb4a5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af60c6df8f92c5bd7c2b28e6801fb4a5c">&#9670;&nbsp;</a></span>IsSimple()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool IsSimple </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks if the vertices forms an simple polygon by checking for edge crossings. </p>

</div>
</div>
<a id="a92acbe179d76f206252a79f5b3fc3b06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92acbe179d76f206252a79f5b3fc3b06">&#9670;&nbsp;</a></span>NextIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int NextIndex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the next index. Used for iterating all the edges with wrap-around. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>The current index</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a220d2534669aad9849c9ee765d1f9c83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a220d2534669aad9849c9ee765d1f9c83">&#9670;&nbsp;</a></span>NextVertex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> NextVertex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the next vertex. Used for iterating all the edges with wrap-around. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>The current index</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a54556fee1be31edf1a2343d073a22da5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54556fee1be31edf1a2343d073a22da5">&#9670;&nbsp;</a></span>PointInPolygon()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int PointInPolygon </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Winding number test for a point in a polygon. </p>
<p>See more info about the algorithm here: <a href="http://softsurfer.com/Archive/algorithm_0103/algorithm_0103.htm">http://softsurfer.com/Archive/algorithm_0103/algorithm_0103.htm</a> </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">point</td><td>The point to be tested.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 if the winding number is zero and the point is outside the polygon, 1 if the point is inside the polygon, and 0 if the point is on the polygons edge.</dd></dl>

</div>
</div>
<a id="a11b3e73b8f5150b8ef42a9c228b694ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11b3e73b8f5150b8ef42a9c228b694ba">&#9670;&nbsp;</a></span>PointInPolygonAngle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool PointInPolygonAngle </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compute the sum of the angles made between the test point and each pair of points making up the polygon. If this sum is 2pi then the point is an interior point, if 0 then the point is an exterior point. ref: <a href="http://ozviz.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/">http://ozviz.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/</a> - Solution 2 </p>

</div>
</div>
<a id="a3790eb40d9ecf822344442c576f34582"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3790eb40d9ecf822344442c576f34582">&#9670;&nbsp;</a></span>PreviousIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int PreviousIndex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the previous index. Used for iterating all the edges with wrap-around. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>The current index</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5b40df1a349091c003a450e98deae548"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b40df1a349091c003a450e98deae548">&#9670;&nbsp;</a></span>PreviousVertex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a> PreviousVertex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the previous vertex. Used for iterating all the edges with wrap-around. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>The current index</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa4862251a60f16ce98c0976d5a11990b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4862251a60f16ce98c0976d5a11990b">&#9670;&nbsp;</a></span>ProjectToAxis()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ProjectToAxis </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td>
          <td class="paramname"><em>axis</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out float&#160;</td>
          <td class="paramname"><em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out float&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Projects to axis. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">axis</td><td>The axis.</td></tr>
    <tr><td class="paramname">min</td><td>The min.</td></tr>
    <tr><td class="paramname">max</td><td>The max.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5386451142d82fd512c5184a6169e991"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5386451142d82fd512c5184a6169e991">&#9670;&nbsp;</a></span>Rotate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Rotate </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rotate the vertices with the defined value in radians. </p>
<p>Warning: Using this method on an active set of vertices of a Body, will cause problems with collisions. Use Body.Rotation instead.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The amount to rotate by in radians.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="adc95b1d2445b45474575ae9222102785"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc95b1d2445b45474575ae9222102785">&#9670;&nbsp;</a></span>Scale() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Scale </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Scales the vertices with the specified vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The Value.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a881d454439e2ca42bd5b72a19061ab57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a881d454439e2ca42bd5b72a19061ab57">&#9670;&nbsp;</a></span>Scale() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Scale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Scales the vertices with the specified vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The Value.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aad1848051a82158b33759b86f6b581f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad1848051a82158b33759b86f6b581f0">&#9670;&nbsp;</a></span>Translate() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Translate </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translates the vertices with the specified vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The vector.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae4ba97c79b8aaa9a0abe8e8ed33d4e1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4ba97c79b8aaa9a0abe8e8ed33d4e1a">&#9670;&nbsp;</a></span>Translate() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Translate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vector2.html">Vector2</a>&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Translates the vertices with the specified vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The value.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="a25689ac9b057e53c7267742723ca99e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25689ac9b057e53c7267742723ca99e3">&#9670;&nbsp;</a></span>Holes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">List&lt;<a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html">Vertices</a>&gt; Holes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>You can add holes to this collection. It will get respected by some of the triangulation algoithms, but otherwise not used. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Physics2D/Common/Vertices.cs</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacenkast.html">nkast</a></li><li class="navelem"><a class="el" href="namespacenkast_1_1_aether.html">Aether</a></li><li class="navelem"><a class="el" href="namespacenkast_1_1_aether_1_1_physics2_d.html">Physics2D</a></li><li class="navelem"><a class="el" href="namespacenkast_1_1_aether_1_1_physics2_d_1_1_common.html">Common</a></li><li class="navelem"><a class="el" href="classnkast_1_1_aether_1_1_physics2_d_1_1_common_1_1_vertices.html">Vertices</a></li>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
